package com.plum.admin.modules.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.plum.admin.modules.sys.dto.RoleDTO;
import com.plum.admin.modules.sys.dto.RoleMenuDTO;
import com.plum.admin.modules.sys.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 系统角色表 服务类
 * </p>
 *
 * @author 子丶沫
 * @since 2021-08-13
 */
public interface ISysRoleService extends IService<SysRole> {
    /**
     * 通过用户id查询角色列表
     * @param userId
     * @return
     */
    List<SysRole> findRoleByUserId(String userId);

    /**
     * 设置角色权限
     * @param roleMenuDTO
     * @return
     */
    boolean saveRolePermission(RoleMenuDTO roleMenuDTO);

    /**
     * 查询角色列表
     * @param page
     * @param role
     * @return
     */
    IPage<SysRole> findRoleList(Page<SysRole> page,SysRole role);

    /**
     * 保存角色
     * @param roleDTO
     */
    boolean insertRole(RoleDTO roleDTO);

    /**
     * 修改角色
     * @param roleDTO
     */
    boolean updateRole(RoleDTO roleDTO);

    /**
     * 删除角色
     * @param roleIdList
     * @return
     */
    boolean deleteRole(List<String> roleIdList);
}
